【发布时间】:2019-08-30 03:24:52
【问题描述】:
我有一个算法需要解决。不幸的是,我什至找不到有关解决方案的线索。请帮助我了解如何解决此问题。
问题
一个虚构的笔输入设备将十六进制数据发送到设备以显示一条带颜色的线。
示例绘制简单的绿线
将颜色设置为绿色,从 (0,0) 到 (4000, 4000) 画一条线。此图中的实心圆圈表示笔向下
位置,空心圆圈表示上笔位置。
输入数据:F0A04000417F4000417FC040004000804001C05F205F20804000
输出:
CLR;一氧化碳 0 255 0 255;
MV (0, 0);
下笔;
MV (4000, 4000);
PEN UP;
此代码用于将十六进制编码为二进制。我猜该解决方案会将十六进制编码为二进制,并对其进行操作以设置正确的输出。
function hex2bin(hex){
return (parseInt(hex, 16).toString(2))}
预期结果与输入数据的示例具有相同的输出。
【问题讨论】:
-
你了解计算机内部数据格式和人类阅读的文本表示之间的区别吗?
-
据我了解,内部计算机数据表示为“010101”或“A0F0”,仅使用 0 和 1 或十六进制。请让我知道我是对还是错。以及如何利用这些知识来解决这个问题。
-
有字节。我们可以看到与整数 65、十六进制 0x41、二进制 0100 0001、ASCII 字符“A”相同的字节。因此,值得指定输入数据的含义。
sends hex data???
标签: javascript algorithm bit-manipulation bitwise-operators