全站数据
8 4 2 0 5 8 1

-16是c语言八进制吗

建造师也侃球 | 简单学习,快乐成才!         
问题更新日期:2024-11-09 11:19:53

问题描述

-16是c语言八进制吗急求答案,帮忙回答下
精选答案
最佳答案

无前缀o,不是合法的八进制数。

一、八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o),例如:

//合法的八进制数

int a = 015; //换算成十进制为 13

int b = -0101; //换算成十进制为 -65

int c = 0177777; //换算成十进制为 65535

//非法的八进制

int m = 256; //无前缀 0,相当于十进制

int n = 03A2; //A不是有效的八进制数字

二、十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,例如:

//合法的十六进制int a = 0X2A; //换算成十进制为 42

int b = -0XA0; //换算成十进制为 -160

int c = 0xffff; //换算成十进制为 65535

//非法的十六进制

int m = 5A; //没有前缀 0X,是一个无效数字

int n = 0X3H; //H不是有效的十六进制数字

二进制化为八进制

整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。

小数部份从最高有效位开始,以3位一组,最低有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的小数。

例:(11001111.01111)2 = (011 001 111.011 110)2 = (317.36)8

其他回答

-16不是C语言的八进制表示形式。在C语言中,八进制数以数字0开始,例如012表示的是十进制的10。而-16通常被视为带有负号的十进制数。

其他回答

-16不是C语言八进制。C语言中的八进制常量是以0开头的数字序列,其中只能包含0到7之间的数字。例如,八进制的数值10在C语言中表示为8,而不是10。如果在C语言中使用-16作为八进制常量,则会出现编译错误,因为它不符合八进制的规定。因此,-16被认为是十进制常量,表示负数16。 在C语言中,十六进制常量以0x或0X开头,后面跟着16进制数值,例如0x10表示16,0x1F表示31。因此,如果您希望表示负数16作为八进制常量,应该使用正确的语法来表示它,即-020。