about 字节
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了about 字节相关的知识,希望对你有一定的参考价值。
关于由于赋值导致字节的截断、字节扩展及数据类型的提升:
一、字节截断:
int----->char 当一个字节(8位)放不下时,出现截断,直接取(最后一个字节)最后面面8位。 例如:100000000=256将256放在一个字符变量时,他就会截取后面的8位,放在字符变量中的那一个字节中,将最高位“1”,抛弃了。 所以以%d输出时,结果为0.
例如:
#include
int main(void)
{
int a = 256;
char c;
c = a;
printf("c:=%c\n",c);
return 0;
}
二、字节扩展:
char<----->int (短字节最高位是什么,之后长字节的3个字节就补什么)
单精度浮点型:float
%f:默认以double类型打印的
%.nf:小数点之后保留n位
%f:小数点之后保留6位,
float a=3.2 :意思:开辟一个大小为4字节、名称叫a的内存空间,并将3.2存入该空间
在赋值时,要输入的数后面加上f,以保证输入的数为4字节。
(因为一个常量小数占8个字节,默认是double型。)
例如:float a=3.5f;
float 开辟内存空间时,开辟4字节大小
双精度浮点型:double
double b=8.8 意思:开辟一个大小为8字节、名称叫b的内存空间,并将8.8存入该空间
double 开辟空间时占8字节。
三、数据类型提升
X
短字节向长字节看齐,
有符号向无符号看齐,
整数向浮点型看齐,
单精度向双精度看齐,
证明:短字节向长字节看齐 证明:有符号向无符号看齐:运算结果最后是无符号数。
#include <stdio.h>
#include <stdlib.h>
int main ()
{
unsigned int a =5;
int b=-20;
((a+b)>0)?printf("*"):printf("#");
return 0;
}
以上是关于about 字节的主要内容,如果未能解决你的问题,请参考以下文章
Spring Rest 文档。片段生成时 UTF-8 中间字节无效 [重复]
14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段
终于懂了:Delphi重定义消息结构随心所欲,只需要前4个字节是消息编号就行了,跟Windows消息虽然尽量保持一致,但其实相互没有特别大的关系。有了这个,就有了主动,带不带句柄完全看需要。(代码片段