Значение подписанного нуля [дубликат]

У меня была эта точная проблема при разработке приложения Spring Boot в STS, но в конечном итоге развертывание упакованной войны в WebSphere (v.9). Основываясь на предыдущих ответах, моя ситуация была уникальной. ojdbc8.jar был в моей папке WEB-INF / lib с установленным набором родительского последнего класса, но всегда говорит, что не удалось найти подходящий драйвер.

Моя последняя проблема заключалась в том, что я использовал неправильный класс DataSource потому что я просто следил за онлайн-учебниками / примерами. Нашел подсказку благодаря тому, что Дэвид Дай прокомментировал свой собственный вопрос: Spring JDBC Не удалось загрузить класс драйвера JDBC [oracle.jdbc.driver.OracleDriver]

Также позже был найден весенний гуру пример с конкретным драйвером Oracle: https://springframework.guru/configuring-spring-boot-for-oracle/

Пример, который вызывает ошибку, используя org.springframework.jdbc.datasource.DriverManagerDataSource на основе общих примеров .

@Config
@EnableTransactionManagement
public class appDataConfig {
 \* Other Bean Defs *\
    @Bean
    public DataSource dataSource() {
        // configure and return the necessary JDBC DataSource
        DriverManagerDataSource dataSource = new DriverManagerDataSource("jdbc:oracle:thin:@//HOST:PORT/SID", "user", "password");
        dataSource.setSchema("MY_SCHEMA");
        return dataSource;
    }
}

И исправленный exapmle с использованием oracle.jdbc.pool.OracleDataSource:

@Config
@EnableTransactionManagement
public class appDataConfig {
/* Other Bean Defs */
@Bean
    public DataSource dataSource() {
        // configure and return the necessary JDBC DataSource
        OracleDataSource datasource = null;
        try {
            datasource = new OracleDataSource();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        datasource.setURL("jdbc:oracle:thin:@//HOST:PORT/SID");
        datasource.setUser("user");
        datasource.setPassword("password");

        return datasource;
    }
}

20
задан BoltClock 30 October 2011 в 20:38
поделиться

5 ответов

Из Википедии:

Утверждается, что включение нулевого знака в IEEE 754 значительно упрощает достижение числовой точности в некоторых критических задачах [1], в частности при вычислении с комплексными элементарные функции [2].

Первая ссылка - «Отрывки филиалов для сложных элементарных функций или много знака о знаке ничто» от W. Kahan, доступная для загрузки здесь .

Одним из примеров этой статьи является 1/(+0) vs 1/(-0). Здесь знак нуля имеет огромное значение, так как первое выражение равно +inf, а второе - -inf.

21
ответ дан Baum mit Augen 19 August 2018 в 18:13
поделиться
  • 1
    Хотя это не объясняет, что использует подписанный ноль на языке программирования. – Björn Lindqvist 12 June 2016 в 15:14

Кроме того, Signed Zero Good For:

Нули можно рассматривать как вариант расширенной строки реального числа, так что 1 / -0 = -∞ и 1 / + 0 = + ∞, деление на ноль только неопределено для ± 0 / ± 0.

Отрицательно подписанный нуль эхоизменяет концепцию математического анализа приближения к 0 снизу как односторонний предел, который можно обозначить через x → 0-, x → 0-, или x → ↑ 0. Обозначение «-0» может использоваться неофициально, чтобы обозначить небольшое отрицательное число, округленное до нуля. Концепция отрицательного нуля также имеет некоторые теоретические применения в статистической механике и других дисциплинах

3
ответ дан bilash.saha 19 August 2018 в 18:13
поделиться
  • 1
    Интересно, было бы полезно иметь три нуля: положительный, отрицательный и беззнаковый, с вычитанием двух отрицательных чисел или добавлением двух чисел противоположного знака и равной величины, дающих беззнаковый нуль? Разделение на нулевой знак должно приводить к бесконечности, но деление на беззнаковое ноль должно давать NaN. – supercat 22 February 2012 в 08:41

Отрицательный ноль имеет, например, некоторое использование при обработке сложных чисел ...

В повседневном использовании следует избегать отрицательного нуля.

Некоторые ссылки с информацией о фоновой / пользе / ловушки «отрицательного нуля»:

0
ответ дан Community 19 August 2018 в 18:13
поделиться

Я делаю измерительное приложение, а -0 очень полезно для смешанных чисел (например, разделение на ноги и дюймы).

Представьте, что мы имеем переменную длину,

(Это java-код, но та же идея верна для C ++).

feet = Math.signum(length) * Math.floor(Math.abs(length / 12));
// could also do feet = length>0 ? Math.floor(length / 12) : Math.ceil(length / 12)
inches = Math.abs(length) % 12;

Если длина равна между -1 футами и 0 футами, мы хотели бы, чтобы он сказал -0 для ног, поэтому мы знаем, что это отрицательно.

0
ответ дан J F Fitch 19 August 2018 в 18:13
поделиться
0
ответ дан Community 31 October 2018 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: