唐song元 2023-04-20 14:29 采纳率: 0%
浏览 164
已结题

java操作bit位

在数据2.DAT开头加入1201个bit“0”,65个bit “1”,存成文件:数据3.DAT文件;用java语言实现,怎么操作bit位呢

img

  • 写回答

4条回答 默认 最新

  • qq_28948607 2023-04-20 14:50
    关注

    使用RandomAccessFile类来进行二进制文件读写。通过位运算符即可,以下是一个简单ex

    import java.io.*;
    
    public class BitManipulationExample {
        public static void main(String[] args) throws IOException {
            // 打开数据2.DAT文件
            RandomAccessFile inFile = new RandomAccessFile("数据2.DAT", "rw");
    
            // 计算需要添加的字节数和位数
            int numBytes = (1201 + 65) / 8; // 字节数向上取整
            int numBits = numBytes * 8;
    
            // 创建一个字节数组,用于保存新的数据
            byte[] newData = new byte[numBytes];
    
            // 在新数据的开头添加65个1
            for (int i = 0; i < 65; i++) {
                int byteIndex = i / 8;
                int bitIndex = 7 - (i % 8);
                newData[byteIndex] |= 1 << bitIndex;
            }
    
            // 将新数据写入文件
            inFile.seek(0); // 将文件指针移到文件开头
            inFile.write(newData);
    
            // 关闭文件
            inFile.close();
    
            // 将数据2.DAT文件重命名为数据3.DAT
            File oldFile = new File("数据2.DAT");
            File newFile = new File("数据3.DAT");
            oldFile.renameTo(newFile);
        }
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月20日
  • 创建了问题 4月20日

悬赏问题

  • ¥15 依据报错在原代吗格式的基础上解决问题
  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?