c语言中关于int的位数问题
来源:互联网 发布:淘宝售后评价怎么删除 编辑:程序博客网 时间:2024/06/03 19:41
前提:一直以来对于位数问题理解实在是模糊,作为一个混迹编程多年的菜鸟实在是羞愧难当!
int 类型:
1.默认是有符号的,无符号类型(unsigned int)
2.编译器在处理的时候根据操作系统的位数决定int的字节数,32位,16位都是4个字节的,64位是8个字节
3.用sizeof(1)可以看出数字1的字节数,1一般默认都是int类型来存储的
4.long的位数也是不确定的,long long 确定是8个字节
5.在C11的标准中追加stdint.h避免了位数的不确定如:int32_t就是指4个字节的,int8_t就是一个字节
位数与字节:
字节也叫Byte,是计算机数据的基本存储单位。
如:C语言中的byte类型占一字节,一字节等于八位
我们来看看一个位能表示多少东西: 最小0 最大1 表示 2的1次方
再看看两个位能表示多少东西: 最小00 最大11 共2的2次方, 能表达四个数
再看看三个位能表示多少东西: 最小000 最大111 共2的3次方,能表达8个数
那八个位能表示多少?
最小:00000000 最大:11111111 这就是8位 也叫一个字节
如果用数没有正负之分那可以表示 0~255 共256个数字. 也可以叫做 2的8次方,你用计算器算算,2的8次方是不是等于256?
如果数有正负之分那可以表示-128~+127 也是256个数,因为8位里面拿走一个位用来表示正负了,所以只能表示最大127
接下来 : 9位 = 2的九次方 =512个数字
接下来: 10位 = 2的十次方 =1024 个 ..... 以此类推
现在知道答案了吧:
1 byte = 1字节 = 8bit 可表达 2的八次方个数字
1 short= 2字节 = 16bit 可表达2的十六次方个数字
1 int = 4字节 = 32bit 可表达2的32次方
1024GB=1TB
其中:K是千 M是兆 G是吉咖 T是太拉。
在电脑里一个中文字是占两个字节的。
- c语言中关于int的位数问题
- C语言取得int的位数
- C语言中int型值的问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中char int转换问题
- C语言中关于int、long int、long long 的区别
- 关于C语言中 int型变量和unsigned int变量范围之间的关系
- C语言中关于IF的问题..
- 指针问题:C语言中 int*p[4] 和 int(*p)[4]的区别 等等
- C语言中unsigned int 与 int 的自动转换
- c语言中unsigned int和int的区别
- C语言中int、long int、long long的区别
- iOS Xcode开发技巧之Code Snippets Library
- [LeetCode] 009. Palindrome Number (Easy) (C++/Java/Python)
- UVA - 122 Trees on the level
- /*请高手指点:C#中得到一串数字中有连续数字的开始和结束位置?比方说0,2,5,6,7,10,12,13,15,18……中,就有5,6,7和12,13两组连续(或更多),则要得到5,6,7的始末位置
- coder--初识UML-Rational Rose
- c语言中关于int的位数问题
- N皇后问题
- Linux内核源代码情景分析-内存管理之用户堆栈的扩展
- Codeforces Round #294 (Div. 2)D. A and B and Interesting Substrings
- java内存结构和对象创建的过程
- 社説 20150301 NTT回線開放 利用者メリットを広げたい
- iOS单例
- 社説 20150301 東京五輪計画 成熟都市にふさわしい大会に
- vs2013 Key