永发信息网

java int怎么位移取前几位数字

答案:6  悬赏:60  手机版
解决时间 2021-02-15 05:25
java int怎么位移取前几位数字
最佳答案
思路:直接用Integer类的bit运算操作。
如果想得到一个n位数的第k位,写法如下:

(n & ( 1 << k )) >> k

内部实现就是:
1、创建一个mask,把1左移k位
int mask = 1 << k;
2、然后把n右移mask位就是想要得到的结果
int masked_n = n & mask;
int thebit = masked_n >> k;
全部回答
右移位。。。
首先,java里int是有32位2进制数组成的 我们一般赋值 int i = 1; 这个是赋值10进制的数 赋值 2进制要 int i = 01;(前面加个0,就表示是2进制数) 赋值16进制(常用) int i = 0x00000001; (0x表示为16进制数) 3种的值都是1. 要用2进制输出就是Integer.toBinaryString(i) 拓展: 因为计算机处理位运算速度是非常快的(应该是最快的运算) 所以很多时候,如果有一堆boolean变量需要表示时, 一般只用1个int的数表示,如: int i = 0x0000000f;//表示后4位为1 int m = (i >> 2) & 1; // 其中m就是表示某一位的值,2表示右边开始数第2位(当然是从第0位开始算的) 这样就能取具体每一位的值 这种方法在很吃代码效率的程序中经常遇到 全手打,望支持
public class example{ public static void main(){ int x=1234; //在这的话你的问题就是 mod 就可以达到那个问题 //无外乎是"% " "/" 这个号的使用 组合你就能到达你的所需要的。 } }
你的意思是通过移位操作?? 如果只是取前两位的话可以这样做,例如下 int a=10002325; String b=a.tosring(); b=b.substring(0,2); 这样试试吧
代码中只写int[] num 时,表示声明了一个int型的数组,但是这个数组还未分配空间,不能使用。如果要使用这个数组的话,就需要为这个数组分配空间,即num = new int[数组长度],这样的话这个数组就能够正常使用了。 特别提醒:没有分配空间的数组是不能使用的,否则会报空指针异常,这点要特别注意。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
30 个腺苷和 60 个磷酸基最多能组成 ATP ()
笔记本序列号有什么用
已知x,y都为实数,满足y=根号x-2+根号2-x+3,xy
apple watch可以脱离iphone独立用蓝牙耳机播
公司开小箱货除了驾照还需要什么证件?
我的世界3里面的隧石用什么挖?
小母鸡怎么煮适合孕妇吃,而且比较有营养
东莞义乌小商品城 有几个
下列关于过程管理的表述,正确的是()。A.过程
若x是函数f(x)=2^x+1/1-x的一个零点,x1∈(1
赵州桥是我国古代的伟大工程,它是隋朝时制造
老马王子全口镶牙在哪里啊,我有事要去这个地
国航的机票误机了能不能改签?
【蜂窝煤】为什么把煤制成蜂窝煤,而不直接烧
2017年考研,想问一下中南大学法学和湖南大学
推荐资讯
假如银行转账还款1000元,支付手续费1元,在
家兴包子铺我想知道这个在什么地方
采集地理数据的过程中需要注意哪些问题
山东万得集团有限公司这个地址在什么地方,我
河北华润面粉有限公司我想知道这个在什么地方
三味·真火自助火锅在什么地方啊,我要过去处
家里使用的是空气能热水器,前几日修过,加过
求田英章老师的楷书行书标准教程,硬笔楷书、
自动挡挂了倒挡松刹车不动了 手刹放了也没坡
好想你枣(驻马店驿城区)地址在什么地方,我要
北京礼服定制哪里有,有好点的吗?
房产抵押贷款需要资金用途吗,总要提供资金用
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?