Ⅰ C語言中整型數據的有效位數是多少
1、從二進制的角度來看整數的有效位數,要從整數的編碼說起,有符號整數編碼包括原碼、反碼和補碼三種常規編碼方式,原碼表示即最高位為符號位,0表示正數,1表示負數,如果以8位二進制位來表示,符號位要佔1位,所以有效位數7位。 要獲取整型類型在當前編譯環境中所佔的位數,可以使用sizeof運算符。
#include<stdio.h>
intmain()
{
printf("sizeofint:%d ",sizeof(int));
return0;
}
2、如果要計算一個整數中的有效位數,可以不斷的整除10求出來。如下代碼:
#include<stdio.h>
inthow_many_int(ints)
{
inti=0;
while(s!=0)
{s/=10;i++;}
returni;
}
intmain()
{
inttest;
do
{
printf("輸入整數:");
scanf("%d",&test);
printf("有%d位 ",how_many_int(test));
}while(test!=~0);
return0;
}
說明:輸入數值超出int所表示的范圍,編譯器會對輸入數進行取模操作。輸出-1結束循環,退出程序。
Ⅱ 各種整形數據所佔位數以及范圍
位元組(Byte):通常將可表示常用英文字元8位二進制稱為一位元組。
一個英文字母(不分大小寫)回佔一個位元組的空答間,一個中文漢字占兩個位元組的空間.
符號:英文標點2佔一個位元組,中文標點占兩個位元組.
一個二進制數字序列,在計算機中作為一個數字單元,一般為8位二進制數,如一個ASCII碼就是一個位元組,此類單位的換算為:
1千吉位元組(KGB,KiloGigaByte)=1024吉位元組
1吉位元組(GB,GigaByte) =1024兆位元組
1兆位元組(MB,MegaByte) =1024千位元組
1千位元組(KB,KiloByte) =1024位元組
Ⅲ C語言整型常量是多少位的
實型數360 ,6.5都是4個位元組。3.14159這個數也是4位元組,他們都是整型 。a*6.5中a是字元變數用char a表示即a==『a』。『a'的ASCII碼為97。97*6.5==6305.
Ⅳ 整型、短整型、長整型的區別是什麼
它們都是數據類型的一種,區別就在與取值范圍,和bit大小不一樣,針對不同取值,應用不同的數據類型變數。
整型(INTEGER)數據是不包含小數部分的數值型數據,用字母I表示,整型數據只用來表示整數,以二進制形式存儲。
短整型的二進制位長是16,長整型的是32位。就是說長整型可以表示位數更多的整數。短整型所能表示的整數的值域為-32768~32767。
長整型則為-2147483648~2147483647。例如,如果有個數為32780,那麼它只能用長整型表示,而不能用短整型表示。
長整型是程序設計中數據類型的一種表現方式,通常用long 表示長整型,long 有符號64位整數 范圍是-2^63-2^63 -1 Int64unsigned long 無符號64位整數 0-2^64-1 UInt64。
拓展資料
整型是計算機中的一個基本的專業術語。整型值可以用十進制,十六進制或八進制符號指定,前面可以加上可選的符號(- 或者 +)。是一種智能的計算方式。
int 是 C 語言的基本整數類型,可以滿足我們處理一般數據的需求。C 語言還提供了四個可以修飾 int 的關鍵字:short、long、signed,以及 unsigned。利用這四個關鍵字,C 語言標準定義了以下整數類型:
short int(可簡寫為 short),和 int 一樣,也是有符號整數
long int(簡寫:long),有符號整數
long long int(簡寫:long long),C99 標准添加的類型,有符號整數
unsigned int(簡寫:unsigned),無符號整數,不能表示負數
unsigned long int(簡寫:unsigned long),無符號整數,不能表示負數
unsigned short int(簡寫:unsigned short),無符號整數,不能表示負數
unsigned long long int(簡寫:unsigned long long), C99 添加的類型,無符號整數
所有沒有標明 unsigned 的整數類型默認都是有符號整數
Ⅳ c語言整型數據int占幾個位元組
不同的編譯器,占據的位元組也不同,具體如下表所示:
編譯器可以根據自身硬專件來選擇合適的屬大小,但是需要滿足約束:short和int型至少為16位,long型至少為32位,並且short型長度不能超過int型,而int型不能超過long型。這即是說各個類型的變數長度是由編譯器來決定的,而當前主流的編譯器中一般是32位機器和64位機器中int型都是4個位元組。
(5)整形多少位擴展閱讀:
在使用不同編譯器時候需要注意他們的數據類型差異,int如此其他數據類型也應當注意,因為並沒用人規定某種數據類型應該占據多少位元組,以及他所表示的數據是有符號還是無符號,即便有人規定這些內容那麼編譯器是否願意按規定來實現誰也說不準。
Ⅵ 整型,長整型,無符號整型,單精度,雙精度,字元型,各佔多少位元組
整型制和無符號整型:2位元組。
長整型:4位元組。
單精度浮點數:4位元組。
雙精度浮點數:8位元組。
字元型:1位元組。
Ⅶ 整型占幾個位元組范圍是多少
長整型佔4位元組,范圍從0到4294967295,或-2147483648到2147483647,短整型占兩個位元組,范圍從0到65535或從-32768到32767。
Ⅷ 一個32位整型變數佔多少位元組 A.4 B.8 C.32 D.128
4位元組
在TC里,抄int是2位元組的(主要是因為TC是16位的,所以int類型也該是16位的)
VC++里,int是4位元組的,因為現代操作系統下的軟體大多是是32位。
64位的VC++,本來按理說,該是8位元組的,但是可能為了維持32位的源代碼移植到64位盡量不出錯,所以也維持了4位元組的長度。4位元組,這是定義。
32位程序中,INT變數佔用4個位元組
Ⅸ C語言中長整形4個位元組的數據范圍是多少
有些是有差別的,具體要看編譯器
char/signed
char/unsigned
char:
1個位元組;
char*(即指針變數):
2個位元組(16位編專譯屬器)
4個位元組(32位編譯器)
8個位元組(64位編譯器)
short
int:
2個位元組
int/unsigned
int:
2個位元組(16位編譯器)
4個位元組(32/64位編譯器)
long
int:
4個位元組
float:
4個位元組
double:
8個位元組
long/unsigned
long:
4個位元組(16/32位編譯器)
8個位元組(64位編譯器)
long
long:
8個位元組
指針4個位元組(32位編譯器)
Ⅹ C語言中的16位整形常量和32位代表的是什麼求解!!!
16位整形常量, 指抄2進制16位整形, 分有符號和無符號兩種。
有符號 是 short int, 數值范圍 -32768 到 32767
無符號 是 unsigned short int,數值范圍 0 - 65535
32位整形常量, 指2進制32位整形, 分有符號和無符號兩種。
有符號 是 long int, 數值范圍 -2147483648 到 2147483647
無符號 是 unsigned long int,數值范圍 0 - 4294967295