java中怎样将一个数转换为7位二进制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎样将一个数转换为7位二进制相关的知识,希望对你有一定的参考价值。

public class Test01
public static void main(String[] args)

//比如我现在要转这个字符串
String str = "Hello World";

//先把他变为字符数组
char[] chs = str.toCharArray();

//然后通过integer中的toBinaryString方法来一个一个转

for (int i = 0; i < chs.length; i++)
System.out.print(Integer.toBinaryString(chs[i]));





1001000110010111011001101100110111110000010101111101111111001011011001100100
参考技术A //java中最低单位是byte,8个bit单位,byte最大就是8个1,超过你的要求
//所以你要求的数字在(小于等于127且大于等于64),这个范围整数值刚好7位有效值!
//如果你低过这个范围:高位可以用0进行填充,如果你高过这个范围,会丢失值无意义!

System.out.println(Integer.toBinaryString(119));

追问

怎样用代码来实现转换后没有7位,再用0填充。

追答

算了等下,按照你要求,给你写个完整的吧!

C++怎样将一个数插入到数组末尾?

参考技术A

把单一数放到数组的末尾,于是每个struct objects可以拥有可变数组的数组。

struct mumble

      /* stuff */
      char pc[1]; 
;
 
//从文件或标准输入装置中取得一个字符串
//然后为struct 本身和该字符配置足够的内存
 
struct mumble * pmumbl = (struct mumble*)
             malloc(sizeof(struct mumble) + strlen(string) +1);
strcpy(&mumble.pc,string);

首先,结构体的末尾定义了一个char数组,只分配了1个字符。那怎么能说是可变大小数组。

往下看,他用malloc函数分配了一堆的内存。大小为结构体+字符串+1(字符串结束符)如下图所示。

通过strcpy,将string字符串拷贝给mumble.pc,pmumble已经分配了足够的内存,因此只要赋值即可,也就达到了可变大小数组的意思。

但是,C++中的类可不同。  

C++中 public、protected、private内的声明顺序可以被保证,但是这三个关键字的布局是不同的。因此总的排列顺序并不能被保证。因此,不能实现struct的可变大小的数组。

以上是关于java中怎样将一个数转换为7位二进制的主要内容,如果未能解决你的问题,请参考以下文章

C语言 判断一个数的二进制数第7位是不是为1

软考-前篇

C语言提供的位运算符

float型怎样强制转换成int型

一些实用的C语言小技巧

Java学习03-进制学习