Tag: bcd

使用C#BCD WMI提供程序来安全地阻止Windows

我已经在网上搜索了如何使用C#将SafeBoot引入Windows的解决方案。 从Vista及以上版本开始,使用BCD控制安全启动。 当然你可以使用命令行工具“bcdedit”: bcdedit /set {current} safeboot Minimal 但是我不想使用这种方法。 所以我的问题是: 如何仅使用C#重启进入安全模式? 我已经看过这个SOpost了 ,这让我开始了。 但我仍然缺少这个难题的碎片。 任何帮助是极大的赞赏。 =) BCD WMI Provider Reference几乎没有帮助。

C#Byte 到BCD,BCD到INT

我有一个由CashRegister Machine创建的Hex文件。 我必须阅读此文件。 文件使用下面详述的格式。 它就像套接字数据包。 代码数据:2个字节 PLU代码数据:7字节 单价数据:5字节 数量数据:5个字节 总金额数据:5字节 PLU名称数据:18字节 税率数据:1字节 长度:24 + 19 Byte PLU代码格式是BCD 单价1-9999999999(BCD) 数量1-9999999999(BCD最后3个数字应为十进制) 总金额1-9999999999(BCD) 我用二进制读取器读取hex文件,然后在Unit Price字节数组中插入int。 byte[] bytes = { data[21], data[22], data[23], data[24], data[25] }; // BCD Byte Array 这个数组是单价。 但是,如何将此数字转换为十进制数。 并且信息说数量:BCD最后一个数字应该是十进制 – 这是什么意思? 谢谢。

将BCD转换为二进制的最有效方法

我有下面的代码将32位BCD值(以两个uint half提供)转换为uint二进制值。 提供的值最大为0x9999,最大值为0x99999999。 是否有更好(即更快)的方法来实现这一目标? /// /// Convert two PLC words in BCD format (forming 8 digit number) into single binary integer. /// eg If Lower = 0x5678 and Upper = 0x1234, then Return is 12345678 decimal, or 0xbc614e. /// /// Least significant 16 bits. /// Most significant 16 bits. /// 32 bit unsigned integer. /// […]

将int转换为BCD字节数组

我想使用BCD将int转换为byte [2]数组。 有问题的int将来自表示Year的DateTime,必须转换为两个字节。 是否有任何预制function可以做到这一点,或者你能给我一个简单的方法吗? 例: int year = 2010 输出: byte[2]{0x20, 0x10};