c++如何定义12位的变量
答案:6 悬赏:80 手机版
解决时间 2021-02-22 10:45
- 提问者网友:溺爱和你
- 2021-02-22 07:43
c++如何定义12位的变量
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-02-22 08:55
1 字符(character)或整数(integer ), 8位(bits)长有符号(signed): -128 到 127
无符号(unsigned): 0 到 255
short int (short)
2 短整数(integer )16位(bits)长有符号(signed): -32768 到 32767
无符号(unsigned): 0 到 65535
long int (long)
4 长整数(integer )32位(bits)长有符号(signed):-2147483648 到 2147483647
无符号(unsigned): 0 到 4294967295
int 4 整数(integer) 有符号(signed): -2147483648 到 2147483647
无符号(unsigned): 0 到 4294967295
float 4 浮点数(floating point number) 3.4e + / - 38 (7 个数字(7digits))
double 8 双精度浮点数(double precision floating point number) 1.7e + / - 308 (15 digits)
long double 8 长双精度浮点数(long double precision floating point number) 1.7e + / - 308 (15 digits)
bool 1 布尔Boolean值。它只能是真(true)或假(false)两值之一。 true 或 false
wchar_t 2 宽字符(Wide character) 。这是为存储两字节(2 bytes) 长的国际字符而设计的类型。一个宽字符(1 wide characters)
没有12位的变量
无符号(unsigned): 0 到 255
short int (short)
2 短整数(integer )16位(bits)长有符号(signed): -32768 到 32767
无符号(unsigned): 0 到 65535
long int (long)
4 长整数(integer )32位(bits)长有符号(signed):-2147483648 到 2147483647
无符号(unsigned): 0 到 4294967295
int 4 整数(integer) 有符号(signed): -2147483648 到 2147483647
无符号(unsigned): 0 到 4294967295
float 4 浮点数(floating point number) 3.4e + / - 38 (7 个数字(7digits))
double 8 双精度浮点数(double precision floating point number) 1.7e + / - 308 (15 digits)
long double 8 长双精度浮点数(long double precision floating point number) 1.7e + / - 308 (15 digits)
bool 1 布尔Boolean值。它只能是真(true)或假(false)两值之一。 true 或 false
wchar_t 2 宽字符(Wide character) 。这是为存储两字节(2 bytes) 长的国际字符而设计的类型。一个宽字符(1 wide characters)
没有12位的变量
全部回答
- 1楼网友:零点过十分
- 2021-02-22 14:11
2 * 12 = 3*8
每三个字节,解释为两个12位即可
如果不足,最后一个双字节只解析为1个12位即可。
- 2楼网友:鸽屿
- 2021-02-22 13:39
简单说:你要定义一个整形变量就是直接“类型 变量名;”就行。例如定一个叫做a的整形变量
“int a;”
详细说明:
在c++中,变量声明(declaration)只有在使用extern关键字时才成立,其他情况下都是定义(definition),而在使用extern的同时给变量赋初始值,则声明变为定义,extern关键字也将被编译器忽略。c++变量的作用域缺省情况下是全局的,也就是对多个源文件可见,比如说,如果在a.cpp和b.cpp中都有
int a;
则编译器链接两个文件时会报告错误,“变量重复定义”。因此,要使变量定义只对该源文件可见,就要显式加上static关键字。因此,我们可以想到,如果在a.cpp中有
extern int a;
而在b.cpp中有
static int a = 9;
那么,编译器链接时会给出错误信息,“找不到a的定义”,因为a的定义在b.cpp并只对该文件可见,a.cpp找不到a的定义因此出错。
变量的声明和定义是比较容易混淆的概念,因此记住一点,除非有extern关键字,否则都是变量的定义。由此,我们可以归纳出几点好的程序设计风格:
1. 不要把变量定义放入.h文件,这样容易导致重复定义错误。
2. 尽量使用static关键字把变量定义限制于该源文件作用域内,除非该变量被设计成全局的。
例外情况是const变量和typedef类型,在《the c++ programming language》9.2节中说到,const和typedef缺省作用域是局部的,因此不需要static来显式声明。因此,在.h文件中放置const变量定义不会产生问题,编译器会给每个引用该.h文件的源文件产生一份该const变量的局部定义,就像该变量是定义于该源文件中一样。大家也不用太担心编译器这么做会浪费空间,因为编译器优化过程一般会把有相同值的const变量进行合并。
对于static关键字,要多说几句的是,static一般有两种意思,当修饰函数定义里的变量或者类成员变量时,称作静态变量;修饰其他变量时,称作局部变量。为防止混淆,一般不要特意给局部变量加上static关键字。除了static关键字,namespace也可以使变量定义成为局部的。
- 3楼网友:神鬼未生
- 2021-02-22 12:01
要是想解决实际问题结构体,联合体,位域都可以解决,要是没事就想定义12位变量,建议使用一个4位的CPU可以解决问题
- 4楼网友:猎心人
- 2021-02-22 11:38
亲们,都忘记了C++中有个叫bitset的东西吗?
#include <bitset>
bitset<12> vib12;
- 5楼网友:醉吻情书
- 2021-02-22 10:31
位段。。。
struct str
{
unsigned i : 12;
};就行了。i可以当做正常变量一样运算,只是注意不要超过它的最大值。定义为unsigned是为了无视溢出的问题。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯