zoukankan      html  css  js  c++  java
  • 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 ",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;
    }

  • 相关阅读:
    更改桌面位置
    三国杀高级技巧!!
    excel中删除空白行方法
    欢迎来稿
    coreseek配置文件分析
    html中a连接触发表单提交
    html点击按钮动态添加input文本框
    页面表单预览数据传递注意事项
    mysql 主从复制(masterslave)
    mysql explain key_len小结
  • 原文地址:https://www.cnblogs.com/liuweimingcprogram/p/5194059.html
Copyright © 2011-2022 走看看