C++八进制十六进制

来源:互联网 发布:哪吒lite飞控调参软件 编辑:程序博客网 时间:2024/05/04 14:02
1、数的进制

默认进制:

默认状态下,数据按十进制输入输出。如果要求按八进制或十六进制输入输出,在cin或cout中必须指明相应的数据形式,oct为八进制,hex为十六进制,dec为十进制。


int i, j, k, l;cout<<”Input i(oct), j(hex), k(hex), l(dec):”<<endl;cin>>oct>>i; //输入为八进制数cin>>hex>>j; //输入为十六进制数cin>>k; //输入仍为十六进制数cin>>dec>>l; //输入为十进制数cout<<”hex:”<<”i=”<<hex<<i<<endl;cout<<”dec:”<<”j=”<<dec<<j<<′\t′<<”k=”<<k<<endl;cout<<”oct:”<<”l=”<<oct<<l;cout<<dec<<endl; //恢复十进制输出状态【执行结果】:(1)输出提示:Input i(oct), j(hex), k(hex), l(dec):(2)此时从键盘输入: 032 0x3f 0xa0 17 <CR>(3)输出结果为:hex:i=1adec:j=63 k=160oct:l=21

几点说明:

使用不带.h的头文件<iostream>时,必须在cin中指明数制,否则从键盘输入时,不认八进制和十六进制数开头的0和0x标志。指明后可省略0和0x标志。

进制控制只适用于整型变量,不适用于实型和字符型变量。

输入数据的格式、个数和类型必须与cin中的变量一一对应,否则不仅使输入数据错误,而且影响后面其他数据的正确输入。

在cin或cout中指明数制后,该数制将一直有效,直到重新指明使用其他数制。


C语言:

#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){unsigned char buf[5] = {0};int i;float f;for (i =0; i<4; i++) {printf("请输入第%d个数:/n", i+1);scanf("%x", &buf[i]);}memcpy(&f,  buf, sizeof(float));printf("float=%f/n", f);return 0;}

以十六进制格式输入四个数,输出由这四个数组成的浮点数的值。



0 0
原创粉丝点击