思路:可以使用num 高16bit 保存 a 。低16bit 保存b 然后输出 num ,然后再将 a,b 从 num 中解析出来。
方法一
import java.util.Random;public class TestRandom1{ public static void main(String[] args){ //定义取值区间 final int MIN = 0; final int MAX = 101; //创建用于得到随机数的对象 Random random = new Random(); //得到随机数,并得到正整数 int ran1 = (random.nextInt()>>>1)%(MAX-MIN)+MIN; int ran2 = (random.nextInt()>>>1)%(MAX-MIN)+MIN; System.out.println("ran1 = " + ran1); System.out.println("ran2 = " + ran2); //打印 ran1 和 ran2的二进制形式 System.out.println(Integer.toBinaryString(ran1)); System.out.println(Integer.toBinaryString(ran2)); //定义用于保存 ran1 和 ran2 的变量 int ranNum = 0; //ran1 保存在低16位 ranNum += ran1; //ran2 保存在高16位 ranNum += (ran2 << 16); //打印ranNum 的二进制形式 System.out.println(Integer.toBinaryString(ranNum)); //将ranNum 中的保存的两个数分别打印 System.out.println("低16位表示的数为:" + (ranNum&0xffff)); System.out.println("高16位表示的数为:" + (ranNum>>16)); } }
方法二
方法二
作者:Tinner丶
链接:https://www.jianshu.com/p/149683a8b7f7
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦