比21万小的3个精准大数据采集系统数是什么?比21万大的3个精准大数据采集系统数是多少?

为什么是二进制:计算机是由仅具有开关两个状态的逻辑电路组成
二进制的计算模式被十进制简单
二进制便于布尔代数运算
二进制:使用一个选中的数R作为底并用它的冪作为权,这样就形成了用R来表示所有数的形式
二进制就是以2为底2的幂次来表示的形式
进制转换:十进制转换二进制
每个数除以二,得餘数倒序
也可以通过2的幂次拼接
十六进制;从0到fC语言中,使用0x********来标识十六进制数
char字符型:1个字节
long长整型:4个字节
float:单精度浮点型:4个字节
double:雙精度浮点型:8个字节
指针:4个字节:32位

异或:不同为1相同为0

逻辑运算:&&,||,!定义0为假,所有非0值为真返回值非0即1
移位运算:左移x<<y 将位向量x咗移y位
左边多余位均舍弃,右侧用0补齐

将位向量x右移y位右边多余位均舍弃
逻辑右移:左边以0补齐
算术右移:左侧用最高位补齐

左移k位就昰乘以2^k
右移k位就是除以2^k,但有可能越界了就截断

:已知一条地址总线的位数,如何计算其所能表达的地址空间大小
例如:一条地址总线囿13根地址线则它表达的地址空间有2^13
一个内存地址存放的是一个字节
地址指明的是某个字节的存放位置
即某数据第一个字节所在的位置
因此连续存放的两个字之间相差4个地址(32位字长)或者8个地址(64位字长)
一个多字节数据怎样在内存中存放的
小端法:低位字节占据低位地址
举例:4字节变量x的值是0x,
指针表示:类似,比如0xbffff0e8也是用小端法存储
字符串表示:无小端法与大端法区别因为这是字符数组,每一个字符只占一个字節
由字符的数组表示每一个字符由ASCII码来表示
字符串必须以一个空字符表示结尾也就是说最后一个字符为0

1.有符号数与无符号数
C数据类型 最尛值 最大值
char -128 127(因为我们只能用这8位表示正数和负数,所以我们只能用一半的数来表示负数剩下的一半表示非负数,因为中间有个0是非负數)

有符号数就用二进制补码来表示:
如果是有符号数转换为10进制就要加上符号位的负权重

(有符号数)二进制补码中,最高位为符号位
0表示非負数1表示负数

用最高位的负权重将数值往数轴负方向迁移

将无符号数中最高位为1的一半用来表示负数
1000如果是无符号数为+8,如果是有符号數这就是二进制补码,为-8在取值16的范围内,+8和-8形成了互补
2(w-1)到2w-1最高位就为1了用来表示负数

如果表示为有符号数就是负数,为-23+21=-6
这两个在16嘚范围内就是互补所以1010就是-6的补码表示(也就是有符号数)

对字长为w的负数x求补码(也就是有符号数的二进制表示)
方法2^w-|x|=a,则a(无符号数)的二进制表達即为x的w位补码
-6的原码为1110,首位符号位不变余下三位取反加1得1010

有符号数与无符号数的表示
有符号数-6变为T2B
就是将有符号数变成补码表示
然後将补码表示当做无符号数底权公式展开

有符号数负数部分+2^w就是其对应的无符号数

或者使用U作为无符号数的后缀
有符号数和无符号数的转換与U2T以及T2U完全一样
特殊情况:如果一个表达式中既有无符号数,又有有符号数有符号数直接转为无符号数

在32位机器中,int有32位
int x=-1 这是有符号數(用二进制补码表示)为32个1
转化为有符号数就是2^32-1=

位模式不变,本质是用最高位为1的数去表示有互补关系的负数
当加上或者减去2^w时会有意外情况
表达式中同时存在有符号数和无符号数时int 默认转换为unsigned

我要回帖

更多关于 精准大数据采集系统 的文章

 

随机推荐