小编dtm*_*and的帖子

非规范化数字 - IEEE 754浮点数

因此,我试图了解更多关于浮点数的IEEE 754标准中定义的非规范化数字.由于Google搜索结果,我已经阅读了几篇文章,并且我已经阅读了几篇StackOverFlow帖子.但是我还有一些问题没有答案.

首先,回顾一下我对Denormalized float的理解:

具有较少精度位的数字,并且比标准化数字更小(数量级)

实质上,非规范化浮点数能够表示可以用任何浮点值表示的SMALLEST(幅度)数.

这听起来不对吗?还有什么呢?

我读过:

使用非规范化数字会在许多平台上带来性能成本

对此有何评论?

我也读过其中一篇文章

一个应该"避免规范化和非规范化数字之间的重叠"

对此有何评论?

在IEEE标准的一些演示中,当呈现浮点范围时,排除非规格化值并将表标记为"有效范围",几乎就像演示者正在思考"我们知道非规范化数字CAN表示可能的最小浮动点值,但由于非规范化数字的某些缺点,我们选择将它们从更适合常见使用场景的范围中排除" - 好像非常规化数字不常用.

我想我一直认为在大多数情况下使用非规范化数字并不是一件好事?

如果我必须自己回答这个问题,我会想:

使用非规格化数字是好的,因为您可以表示可能的最小(数量级)数字 - 只要精度不重要,并且您不将它们与标准化数字混合,并且应用程序的最终性能符合要求.

使用非规范化数字是一件坏事,因为大多数应用程序不需要如此小的表示 - 精确损失是有害的,并且你可以通过将它们与标准化数字混合来轻松地射击自己,并且性能不值得花费在多数情况下.

对这两个答案有何评论?还有哪些我可能会丢失或不理解非规范化数字?

floating-point performance standards ieee-754

14
推荐指数
1
解决办法
1万
查看次数

无法更改UITableView的高度

在Apple iPhone Clock App中,当用户添加新警报时,会弹出模态视图.我正在尝试创建一个类似的UI.

我目前有一个UITableViewController作为UINavigationController的根视图控制器.

我还将UIDatePicker添加为UINavigationController的子视图:

[self.navigationController.view addSubview:mydatePicker];
Run Code Online (Sandbox Code Playgroud)

但是,我的UITableview(UITableViewController)中有大约10行,并且只要我添加了UIDatePicker,就无法滚动查看所有单元格.

我意识到UITableView的大小和我添加UIDatePicker之前的大小相同,因此我需要更改它的大小才能滚动查看所有表格单元格.

为了改变它的大小,我尝试了几件事,但都无济于事.在下面的代码中,我任意为新高度选择了50.

首先,尝试更改边界高度:

CGRect bounds = [self.tableView bounds];
[self.tableView setBounds:CGRectMake(bounds.origin.x,
                                     bounds.origin.y,
                                     bounds.size.width,
                                     50)];
Run Code Online (Sandbox Code Playgroud)

然后尝试更改框架高度:

CGRect tvframe = [self.tableView frame];
[self.tableView setFrame:CGRectMake(tvframe.origin.x,
                                    tvframe.origin.y,
                                    tvframe.size.width,
                                    50)];
Run Code Online (Sandbox Code Playgroud)

然后谷歌搜索后,我尝试更改contentSize高度:

CGSize thesize = self.tableView.contentSize;
thesize.height = 50;
self.tableView.contentSize = thesize;
Run Code Online (Sandbox Code Playgroud)

这些似乎都没有对UITableView的大小产生任何影响.我仍然无法滚动查看所有单元格.

我后来尝试了一些与上面相同的方法,但是在UINavigationController而不是UITableView上.我也没有太多运气.

作为最后的手段,我试图在Storyboard编辑器中更改UITableView的大小.我也想不出来.

感谢您的任何帮助,您可以提供.

iphone uitableview ios6

11
推荐指数
1
解决办法
6619
查看次数

UITableViewCell删除按钮被掩盖了

更新:

感谢来自"Evgeny S"的信息,我已经能够确定覆盖删除按钮的是细胞背景.我在单元初始化时调用了以下函数:

- (void) setupGradientsWithHeight:(int) the_height
{
    CAGradientLayer* gradient = [CAGradientLayer layer];

    gradient.frame  = CGRectMake(self.bounds.origin.x,
                                 self.bounds.origin.y,
                                 self.bounds.size.width,
                                 the_height);

    gradient.colors = [NSArray arrayWithObjects:
                       (id)[UIColor colorWithRed:218.0f/255.0f
                                           green:218.0f/255.0f
                                            blue:220.0f/255.0f
                                           alpha:1.0].CGColor,
                       (id)[UIColor colorWithRed:180.0f/255.0f
                                           green:180.0f/255.0f
                                            blue:184.0f/255.0f
                                           alpha:1.0].CGColor,nil];

    UIView* bgview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];

    [bgview.layer addSublayer:gradient];
    [self setBackgroundView:bgview];
}
Run Code Online (Sandbox Code Playgroud)

通过不添加backgroundview解决了这个问题.但是,我想知道如何在保留每个细胞的梯度背景的同时解决它?

可能会发生两件事之一.当删除按钮出现时,背景视图要么被移动然后又被移回 - 或者它的大小正在减小然后再返回.我尝试使用渐变框架的宽度组件"self.bounds.size.width",但我仍然没有看到它如何影响事物,因为此函数仅在单元初始化时调用一次.

原始邮寄:

我在iOS6 SDK下在Xcode4中创建了一个应用程序 - 但是在新环境(Xcode5和iOS7 SDK)中加载后我遇到了问题.请注意,我已经解决了进行转换时出现的所有构建错误和警告.

我有一些细胞的桌面视图.进入编辑模式后,如果单击红色切换按钮以启动单元格的删除模式 - 动画开始并显示"删除"按钮 - 但只是短暂地然后突然重新隐藏.

我应该注意的另一个奇怪的事情是,即使删除按钮被覆盖 - 你仍然可以点击它应该的位置并删除单元格.

我试图尽可能多地取出我的"自定义代码",我已经删除了我已经覆盖的功能,并试图将事情恢复到原始状态 - 但无济于事.

有一次,我在输出日志中看到一条奇怪的消息:"当我们已经有一个看起来不太好的时候,试图设置滑动以删除单元格." 出于某种原因,消息显示的时间更长,我似乎无法记住我当时正在做的事情.

有关可能导致此问题的任何想法或建议?

http://www.youtube.com/watch?v=vCAGzSaOwp4

uitableview ios7 xcode5

11
推荐指数
3
解决办法
1万
查看次数

压缩索引部分indextitlesfortableview

在 iOS7 SDK 中加载我的应用程序。我的表视图的索引列表现在已压缩:

在此输入图像描述

我似乎无法追踪可能发生的事情。我没有在任何地方设置尺寸或长度。下面是我分配标题的代码,但我猜问题一定出在其他地方?

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView
{
    NSMutableArray *titleArray = [[NSMutableArray alloc] init];

    if (BookHasSections())
    {
        NSInteger sections = tableView.numberOfSections;

        for (int section = 0; section < sections; section++)
        {
            switch (section)
            {
                case 0:
                    [titleArray addObject:@"1"];
                    break;
                default:
                    [titleArray addObject:[NSString stringWithFormat:@"%d0",section]];
                    break;
            }
        }
    }

    return titleArray;
}
Run Code Online (Sandbox Code Playgroud)

iphone uitableview ios7

5
推荐指数
0
解决办法
1695
查看次数

git子模块更新“ no-fetch”

当我发布子模块更新并包含“ --no-fetch”时,如下所示:

git submodule update --remote --no-fetch
Run Code Online (Sandbox Code Playgroud)

文档指出:

为了确保当前跟踪分支状态,在计算SHA-1之前,update --remote将获取子模块的远程存储库。如果您不想获取,则应使用子模块更新--remote --no-fetch。

我对“ --no-fetch”部分有些困惑。如果我在没有更新的情况下致电更新:

git submodule update --remote
Run Code Online (Sandbox Code Playgroud)

我知道将不会执行提取-但这也意味着我不能保证“ 当前跟踪分支状态 ”吗?这到底是什么意思呢?

在哪种情况下,我不希望保证当前的跟踪分支状态

git git-submodules

5
推荐指数
1
解决办法
448
查看次数

C++ Visual Studio当前工作目录

我有一个类似的问题: 当前的工作目录是visual studio目录

除了我在Visual Studio中使用C++项目.有什么建议?

例如,如果我在以下帖子中尝试解决方案: GetCurrentDirectory for startup App.C++

我明白了:

"C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 11.0\COMMON7\IDE"
Run Code Online (Sandbox Code Playgroud)

但我希望它是我的项目/解决方案文件夹下的Debug文件夹.

c++ visual-studio-2012

4
推荐指数
1
解决办法
1万
查看次数

断言:: AreEqual格式消息在一行中

更新3:

这个页面向我展示了如何在三行中完成它.任何人都知道如何在一条线上完成它?

for (int i = 0; i < 5; i++) {
   my_value_to_verify = get_my_values(i);

   wchar_t message[200];                              // Line 1
   _swprintf(message, L"Value %d failed", i);         // Line 2
   Assert::AreEqual(42, my_value_to_verify, message); // Line 3
}
Run Code Online (Sandbox Code Playgroud)

更新2

正如@JaredPar所指出的那样,我所指的文档实际上是用于C++/CLI.在进行额外搜索之后,看起来以下链接包含对我正在使用的函数的引用.

更新1

从{i}中删除括号也会导致编译错误:

Error: no instance of overloaded function ...AreEqual matches the argument list (int, int, const wchar_t[16], int)
Run Code Online (Sandbox Code Playgroud)

原帖

使用Microsoft文档我正在尝试构造一个将打印格式化消息的Assert语句.例如:

for (int i = 0; i < 5; i++) {
   my_value_to_verify = get_my_values(i);
   Assert::AreEqual(42, my_value_to_verify, L"Value %d failed", …
Run Code Online (Sandbox Code Playgroud)

c++ assert visual-studio-2012

3
推荐指数
1
解决办法
1160
查看次数

switch_root busybox初始化有问题吗?

我在带有busybox的嵌入式Linux环境中。我已经通读了几篇 文章,试图学习如何使用switch_root。我尝试了这个:

exec switch_root -c /dev/console /mnt/newroot /bin/busybox init
Run Code Online (Sandbox Code Playgroud)

switch_root帮助打印,我提出了一个新的登录:

[root@buildroot ~]# exec switch_root -c /dev/console /mnt/newroot /bin/busybox init
BusyBox v1.21.0 (2015-04-24 18:14:40 MDT) multi-call binary.
busybox init
Usage: switch_root [-c /dev/console] NEW_ROOT NEW_INIT [ARGS]root /bin/busybox in

Free initramfs and switch to another root fs:
chroot to NEW_ROOT, delete all in /, move NEW_ROOT to /,
execute NEW_INIT. PID must be 1. NEW_ROOT must be a mountpoint.

        -c DEV  Reopen stdio to DEV after …
Run Code Online (Sandbox Code Playgroud)

linux rootfs

3
推荐指数
1
解决办法
4939
查看次数

NSTextAlignmentCenter仍然无法正常工作

通过这个问题,我已经了解到,为了通过NSTextAlignmentCenter在UILabel中居中对齐文本,我必须禁用"字母收紧间距",这家伙同意.

他们提到在界面构建器中禁用此选项,但据我所知,我的uilabel在IB中无法访问.这是因为我试图在uitableview中更改单元格的"textLabel".我继续尝试在代码中尝试禁用内容:

cell.textLabel.numberOfLines = 1;
cell.textLabel.adjustsFontSizeToFitWidth      = NO;
cell.textLabel.adjustsLetterSpacingToFitWidth = NO;
cell.textLabel.textAlignment = NSTextAlignmentCenter;
cell.textLabel.text = @"My Centered Text";
Run Code Online (Sandbox Code Playgroud)

但是,这些似乎都没有任何效果.文本仍然保持对齐.

uitableview ios

2
推荐指数
1
解决办法
1920
查看次数

为什么内核线程在进程上下文中运行?

我最近了解到Linux内核线程在进程上下文中运行.

为什么它们在流程上下文中运行?

为什么他们不是简单地在传统的"线程"中运行?(如果这甚至有意义的话)

multithreading process linux-kernel

2
推荐指数
1
解决办法
3223
查看次数

从路由获取源地址

这个实施例的用户的路由是通过使用所获得的命令行实用程序的IP。输出示例:

$ ip route get 4.2.2.1
4.2.2.1 via 192.168.0.1 dev eth0  src 192.168.0.121 
    cache 
$ 
Run Code Online (Sandbox Code Playgroud)

让我们以以下方式引用地址:

  • 4.2.2.1作为地址A(目的地)
  • 192.168.0.1作为地址B(网关)
  • 192.168.0.121作为地址C(来源)

就我而言,我感兴趣C-并且我试图弄清楚我如何能够在我的程序中获得相同的信息。特别

  • 给定地址A,找到地址C
  • 不想使用系统或将以某种方式运行shell命令的任何东西
  • 允许使用,并且首选

有什么建议吗?谢谢

c++ linux boost routes

1
推荐指数
1
解决办法
264
查看次数