使用scanf,输入的每个数字,我希望我的程序打印出两行:例如
byte order: little-endian
> 2
2 0x00000002
2.00 0x40000000
> -2
-2 0xFFFFFFFE
-2.00 0xC0000000
Run Code Online (Sandbox Code Playgroud)
我可以得到它以十六进制打印2但我也需要一个浮点数当然我不能扫描为一个当我还需要扫描为一个int
如果我在尝试printf时投射为浮动,我会得到一个零.如果我作为浮点扫描我得到正确的输出.我试图将int转换为float,但它仍然是零.
到目前为止这是我的输出
Int - float - hex
byte order: little-endian
>2
2 0x000002
2.00 00000000
Run Code Online (Sandbox Code Playgroud)
它看起来像我正在转换为漂浮为什么不打印作为十六进制?如果我作为一个浮点扫描我得到正确的十六进制表示,如第一个例子.这应该是简单的事情.我确实需要以小数形式扫描,记住我在cygwin中运行它
这是我到目前为止...
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int HexNumber;
float convert;
printf("Int - float - hex\n");
int a = 0x12345678;
unsigned char *c = (unsigned char*)(&a);
if (*c == 0x78)
{
printf("\nbyte order: little-endian\n");
}
else
{
printf("\nbyte order: big-endian\n");
}
printf("\n>");
scanf("%d", …Run Code Online (Sandbox Code Playgroud) 有人可以查看我的程序,并告诉我,我是否正确地做到了这一点?
我接受8位十六进制数字形式的用户输入.我想将这8位数字解释为IEEE 754 32位浮点数,并打印出有关该数字的信息.
这是我的输出:
IEEE 754 32-bit floating point
byte order: little-endian
>7fffffff
0x7FFFFFFF
signBit 0, expbits 255, fractbits 0x007FFFFF
normalized: exp = 128
SNaN
>40000000
0x40000000
signBit 0, expbits 128, fractbits 0x00000000
normalized: exp = 1
>0
0x00000000
signBit 0, expbits 0, fractbits 0x00000000
+zero
Run Code Online (Sandbox Code Playgroud)
这是代码..
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int HexNumber;
int tru_exp =0;
int stored_exp;
int negative;
int exponent;
int mantissa;
printf("IEEE 754 32-bit floating point");
int a = 0x12345678; …Run Code Online (Sandbox Code Playgroud) 我有一个带有 jscrollpane 的动态创建的 jtable。我正在努力解决边界问题。如果我指定一个边框,我会在没有表数据的区域周围得到一个边框。如果我在滚动窗格中创建空边框,我会得到所需的边框,但是标题周围的边框不存在。我将附上两张照片,以便您可以看到问题。
左侧和底部边框不应该在那里。
我将包含相关代码。
一班
private void createPanels(JButton close, JButton mapButton){
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
add(mainPanel);
setModal(true);
JPanel topPanel = new JPanel(new BorderLayout(0, 0));
topPanel.setPreferredSize(new Dimension(400, 30));
JLabel title = new JLabel("Mapping Flags");
title.setFont(new Font("SansSerif", Font.PLAIN, 17));
JPanel panelForTitle = new JPanel(new FlowLayout(FlowLayout.LEFT, 270, 30));
panelForTitle.add(title);
mainPanel.add(panelForTitle);
mainPanel.add(topPanel);
JPanel tablePanel = new JPanel(new BorderLayout());
tablePanel.setBorder(BorderFactory.createEmptyBorder(15, 25, 15, 25));
tablePanel.add(spTable);
mainPanel.add(tablePanel);
JPanel bottom = new JPanel(new FlowLayout(FlowLayout.RIGHT, 5, 30));
close.setPreferredSize(new Dimension(90,22));
mapButton.setPreferredSize(new Dimension(90,22));
bottom.add(close); …Run Code Online (Sandbox Code Playgroud)