Обновите ваш код
Добавьте jQuery в ваш файл index.html или angular.json
import { Component, OnInit } from '@angular/core';
declare var jQuery:any;
@Component({
selector: 'app-comingsoon',
templateUrl: './comingsoon.component.html',
styleUrls: ['./comingsoon.component.css']
})
export class ComingsoonComponent implements OnInit {
constructor() {
// load countdown
var c = document.createElement("script");
c.type = "text/javascript";
c.src = "src/assets/js/countdowntime.js";
document.getElementsByTagName("head")[0].appendChild(c);
}
ngOnInit() {
console.log(jQuery) // here is am getting output
}
}
Я сожалею, что только знаю прямой в голове:
uint32_t mod_op(uint32_t a, uint32_t b) {
uint32_t int_div = a / b;
return a - (b * int_div);
}
uint32_t xor_op(uint32_t a, uint32_t b) {
uint32_t n = 1u;
uint32_t result = 0u;
while(a != 0 || b != 0) {
// or just: result += n * mod_op(a - b, 2);
if(mod_op(a, 2) != mod_op(b, 2)) {
result += n;
}
a /= 2;
b /= 2;
n *= 2;
}
return result;
}
Альтернатива в комментариях может использоваться вместо, если постараться не переходить. Но с другой стороны, решение не точно быстро ни один, и оно заставляет его выглядеть более странным :)
Я сделал бы это простой путь:
uint xor(uint a, uint b):
uint ret = 0;
uint fact = 0x80000000;
while (fact > 0)
{
if ((a >= fact || b >= fact) && (a < fact || b < fact))
ret += fact;
if (a >= fact)
a -= fact;
if (b >= fact)
b -= fact;
fact /= 2;
}
return ret;
Мог бы быть более легкий путь, но я не знаю об одном.
Я не знаю, побеждает ли это точку Вашего вопроса, но можно реализовать XOR с И, ИЛИ, и НЕ, как это:
uint xor(uint a, uint b) {
return (a | b) & ~(a & b);
}
На английском языке это "a или b, но не a и b", который отображается точно на определение XOR.
Конечно, я не придерживаюсь строго Вашего соглашения использования только арифметических операторов, но по крайней мере этого простое, легкое для понимания переопределение.
Легче, если Вы имеете И потому что
A ИЛИ B = + B - (A И B)
XOR B = + B - 2 (A И B)
int customxor(int a, int b)
{
return a + b - 2*(a & b);
}