Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kısa açıklama
Bu makalede PowerShell'de sayısal değerlerin söz dizimi ve kullanımı açıklanmaktadır.
Uzun açıklama
İki tür sayısal değişmez değer vardır: tamsayı ve gerçek. Her ikisinde de tür ve çarpan sonekleri olabilir.
Tamsayı değişmez değerleri
Tamsayı değişmez değerleri ondalık veya onaltılık olarak yazılabilir. Onaltılık değişmez değerler, ondalık sayılardan ayırt etmek için ön eke sahiptir 0x .
Tamsayı değişmez değerleri bir tür soneki ve çarpan soneki içerebilir.
| Sonek | Anlamı |
|---|---|
l |
uzun veri türü |
kb |
kibibayt (10241) çarpanı |
mb |
mebibayt (10242) çarpanı |
gb |
gigibyte (10243) çarpanı |
tb |
teribyte (10244) çarpanı |
pb |
petibayt (10245) çarpan |
Tamsayı değişmez değerinin türü değeri, tür soneki ve sayısal çarpan soneki tarafından belirlenir.
Tür soneki olmayan bir tamsayı değişmez değeri için:
- Değer türüyle
[int]temsil edilebiliyorsa, bu onun türüdür. - Aksi takdirde, değer türüyle
[long]temsil edilebiliyorsa, bu onun türüdür. - Aksi takdirde, değer türüyle
[decimal]temsil edilebiliyorsa, bu onun türüdür. - Aksi takdirde, türüyle
[double]temsil edilir.
Tür soneki olan bir tamsayı değişmez değeri için:
- Tür soneki ise
uve değer türle[int]gösterilebilirse türü olur[int]. - Tür soneki ise
uve değer türle[long]gösterilebilirse türü olur[long]. - Değeri belirtilen türle temsil edilebiliyorsa, türü bu olur.
- Aksi takdirde, bu değişmez değer yanlış biçimlendirilmiştir.
Gerçek değişmez değerler
Gerçek değişmez değerler yalnızca ondalık gösterimiyle yazılabilir. Bu gösterim, ondalık ayırıcıdan sonra kesirli değerler ve üstel bir bölüm kullanılarak bilimsel gösterim içerebilir.
Üstel bölüm bir 'e' ve ardından isteğe bağlı bir işaret (+/-) ve üssü temsil eden bir sayı içerir. Örneğin, değişmez değer 1e2 100 sayısal değerine eşittir.
Gerçek değişmez değerlerin tür soneki ve çarpan soneki olabilir.
| Sonek | Anlamı |
|---|---|
d |
ondalık veri türü |
kb |
kibibayt (10241) çarpanı |
mb |
mebibayt (10242) çarpanı |
gb |
gigibyte (10243) çarpanı |
tb |
teribyte (10244) çarpanı |
pb |
petibayt (10245) çarpan |
İki tür gerçek değişmez değer vardır: çift ve ondalık. Bunlar, sırasıyla ondalık türü son ekinin yokluğu veya iletişim durumuyla gösterilir. PowerShell bir değerin değişmez bir gösterimini [float] desteklemez. Çift gerçek değişmez değer türüne [double]sahiptir. Ondalık gerçek değişmez değeri türüne [decimal]sahiptir.
Ondalık gerçek değişmez değerin kesir bölümünde sondaki sıfırlar önemlidir.
Üstel bölümün basamaklarının gerçek bir [double] değişmez değerdeki değeri desteklenen en düşük değerden küçükse, bu [double] gerçek değişmez değerin değeri 0'dır. Gerçek bir [decimal] değişmez değerdeki üstel parça basamaklarının değeri desteklenen en düşük değerden küçükse, bu değişmez değer yanlış biçimlendirilmiş olur. Bir veya [double] gerçek değişmez değerdeki [decimal] üstel parça basamaklarının değeri desteklenen en yüksek değerden büyükse, bu değişmez değer yanlış biçimlendirilmiş olur.
Not
Söz dizimi, çift gerçek değişmez değerin uzun tür son ekine sahip olmasına izin verir.
PowerShell bu durumu, değeri türüyle [long]temsil edilen bir tamsayı değişmez değeri olarak değerlendirir. Bu özellik, PowerShell'in önceki sürümleriyle geriye dönük uyumluluk için korunmaktadır. Ancak programcıların bu formun tamsayı değişmez değerlerini kullanmaları önerilmez çünkü değişmez değerin gerçek değerini kolayca gizleyebilirler. Örneğin, 1.2L 1 değerine sahiptir, 1.2345e1L 12 değerine sahiptir ve 1.2345e-5L 0 değerine sahiptir; bunların hiçbiri hemen belirgin değildir.
Sayısal çarpanlar
Kolaylık sağlamak için, tamsayı ve gerçek değişmez değerler, 2'nin yaygın olarak kullanılan güçlerinden birini gösteren sayısal bir çarpan içerebilir. Sayısal çarpan, büyük veya küçük harflerin herhangi bir bileşiminde yazılabilir.
Çarpan sonekleri, , uve ul tür sonekleri ile lbirlikte kullanılabilir.
Çarpan örnekleri
PS> 1kb
1024
PS> 1.30Dmb
1363148.80
PS> 0x10Gb
17179869184
PS> 1.4e23tb
1.5393162788864E+35
PS> 0x12Lpb
20266198323167232
Sayısal tür hızlandırıcıları
PowerShell aşağıdaki tür hızlandırıcılarını destekler:
| Hızlandırıcı | Not | Açıklama |
|---|---|---|
[byte] |
Bayt (imzasız) | |
[sbyte] |
Bayt (imzalı) | |
[int16] |
16 bit tamsayı | |
[uint16] |
16 bit tamsayı (işaretsiz) | |
[int32] |
32 bit tamsayı | |
[int] |
diğer adı [int32] |
32 bit tamsayı |
[uint32] |
32 bit tamsayı (işaretsiz) | |
[int64] |
64 bit tamsayı | |
[long] |
diğer adı [int64] |
64 bit tamsayı |
[uint64] |
64 bit tamsayı (işaretsiz) | |
[bigint] |
Bkz. BigInteger Yapısı | |
[single] |
Tek duyarlıklı kayan nokta | |
[float] |
diğer adı [single] |
Tek duyarlıklı kayan nokta |
[double] |
Çift duyarlıklı kayan nokta | |
[decimal] |
128 bit kayan nokta |
Diğer sayısal türlerle çalışma
Diğer herhangi bir sayısal türle çalışmak için, bazı sorunlar olmadan tür hızlandırıcıları kullanmanız gerekir. Örneğin, yüksek tamsayı değerleri başka bir türe dönüştürülmeden önce her zaman çift olarak ayrıştırılır.
PS> [bigint]111111111111111111111111111111111111111111111111111111
111111111111111100905595216014112456735339620444667904
Değer ilk olarak çift olarak ayrıştırılır ve daha yüksek aralıklarda duyarlık kaybedilir. Bu sorunu önlemek için değerleri dize olarak girin ve dönüştürün:
PS> [bigint]'111111111111111111111111111111111111111111111111111111'
111111111111111111111111111111111111111111111111111111
Örnekler
Aşağıdaki tabloda sayısal değişmez değerlerin çeşitli örnekleri yer alır ve bunların türü ve değeri listelenir:
| Sayı | Tür | Değer |
|---|---|---|
| 100 | Int32 | 100 |
| 100D | Ondalık | 100 |
| 100l | Int64 | 100 |
| 1e2 | Çift | 100 |
| 1.e2 | Çift | 100 |
| 0x1e2 | Int32 | 482 |
| 0x1e2L | Int64 | 482 |
| 0x1e2D | Int32 | 7725 |
| 482D | Ondalık | 482 |
| 482gb | Int64 | 517543559168 |
| 0x1e2lgb | Int64 | 517543559168 |
Sayısal tür dönüştürme
Dizeler sayıya dönüştürüldüğünde, ek onaltılık biçim göstergeleri desteklenir. Bu ek biçimler değişmez değer olarak tanınmaz.
[int] '0xF' -eq 0xF
[int] '&hF' -eq 0xF
[int] '#F' -eq 0xF
Sayısal değişmez değerler gibi görünen komutlar
Sayısal değişmez değer gibi görünen tüm komutlar çağrı işleci ()& kullanılarak yürütülmelidir, aksi takdirde ilişkili türün bir numarası olarak yorumlanır.
Sayısal nesnelerin özelliklerine ve yöntemlerine erişme
Sayısal değişmez değerin bir üyesine erişmek için, değişmez değeri parantez içine almanız gereken durumlar vardır.
- Değişmez değerin ondalık noktası yok
- Değişmez değerde ondalık ayırıcıdan sonra basamak yok
- Değişmez değerde sonek yok
Örneğin, aşağıdaki örnek başarısız olur:
PS> 2.GetType().Name
At line:1 char:11
+ 2.GetType().Name
+ ~
An expression was expected after '('.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpectedExpression
Aşağıdaki örnekler çalışır:
PS> 2L.GetType().Name
Int64
PS> 1.234.GetType().Name
Double
PS> (2).GetType().Name
Int32
PowerShell ayrıştırıcısı sayısal değişmez değerin nerede sona ereceğini ve GetType yönteminin nerede başlayacağını belirleyebildiğinden, ilk iki örnek değişmez değeri parantez içine almadan çalışır.
PowerShell